#ifndef ELEMENTO_H
#define ELEMENTO_H
#include <GL/gl.h>

#define TAMANHO_GRID 101
#define OBSTACULO_GRID 50000
#define VAZIO_GRID 9999
//raio o raio do objeto ou metade do lado caso seja um quadrado
#define TAMANHO_OBSTACULO 2

class Elemento
{

protected:
    int x;
    int y;
    double xCont;
    double yCont;
    float corRGBA[4];
    int estado;
    double forca;
    double raio;    //raio da boundbox do elemento
    GLuint textura;

public:
    //Metodos Set
    void setx(int x);
    void sety(int y);
    void setxCont(double x);
    void setyCont(double y);
    void setEstado(int estado);
    void setForca(double forca);
    void setTextura(GLuint textura);
    void setRGBA(float rgba[4]);
    void setRaio(double raio);

    //Metodos Get
    int getx();
    int gety();
    double getxCont();
    double getyCont();
    int getEstado();
    double getForca();
    float* getCopyRGBA(float rgba[4]);
    GLuint getTextura();
    double getRaio();


};

#endif // ELEMENTO_H

